﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace QL_xxx
{
    public class Date
    {
        public static bool KiemTraNgayHopLe(string _ngay, string _thang, string _nam)
        {
            bool kq;
            int n = 0;
            if (!(int.TryParse(_ngay, out n) && int.TryParse(_thang, out n) && int.TryParse(_nam, out n)))
            {
                kq = false;
                return kq;
            }
            int ngay = int.Parse(_ngay);
            int thang = int.Parse(_thang);
            int nam = int.Parse(_nam);
            int[] ngayTrongThang = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
            //kt nam
            if (nam < 0)
            {
                kq = false;
                return kq;
            }
            //kt thang
            if (thang < 0 || thang > 12)
            {
                kq = false;
                return kq;
            }
            // kt nam nhuan
            if ((nam % 4 == 0 && nam % 100 != 0) || nam % 400 == 0)
                ngayTrongThang[1] = 29;
            //kiem tra ngay
            if (ngay < 0 || ngay > ngayTrongThang[thang - 1])
            {
                kq = false;
                return kq;
            }
            kq = true;
            return kq;
        }
        public static bool KiemTraNgaySinh(string _ngay, string _thang, string _nam)
        {
            if (KiemTraNgayHopLe(_ngay, _thang, _nam))// neu ngay hop le thi kt tiep
            {
                if (int.Parse(_nam) < 1900 || int.Parse(_nam) > DateTime.Now.Year)// nam sinh quá nhỏ hoặc lớn hơn năm hiện tại thì sai
                    return false;
                return true;
            }
            return false;
        }
        public static bool KiemTraNgayDatPhong(string _ngay, string _thang, string _nam)
        {
            if (KiemTraNgayHopLe(_ngay, _thang, _nam))// neu ngay hop le thi kt tiep
            {
                int ngay = int.Parse(_ngay);
                int thang = int.Parse(_thang);
                int nam = int.Parse(_nam);
                DateTime d = new DateTime(nam, thang, ngay);
                if (DateTime.Compare(d, DateTime.Now) == 1 || DateTime.Compare(d, DateTime.Now) == 1)// neu ngay dat >= ngay hien tai thi dung
                    return true;
                return false;
            }
            return false;
        }
    }
}
